]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
3 years agoAdapt to the new Mtk library
Bilal Elmoussaoui [Tue, 8 Aug 2023 18:07:03 +0000 (20:07 +0200)]
Adapt to the new Mtk library

As we plan to slowly phase out Cairo where possible in libmutter
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2873>

3 years agoUpdate German translation
Philipp Kiemle [Wed, 30 Aug 2023 09:23:32 +0000 (09:23 +0000)]
Update German translation

3 years agoUpdate Italian translation
Milo Casagrande [Wed, 30 Aug 2023 07:24:34 +0000 (07:24 +0000)]
Update Italian translation

(cherry picked from commit d24ce97d3c98b9039c7eec29e2102985cf087e84)

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 30 Aug 2023 06:51:15 +0000 (06:51 +0000)]
Update Indonesian translation

3 years agoappDisplay: Replace EOG with Loupe in 'Utilities' folder
kramo [Sun, 27 Aug 2023 18:01:21 +0000 (18:01 +0000)]
appDisplay: Replace EOG with Loupe in 'Utilities' folder

Loupe replaced EOG in core apps, update the 'Utilities' folder
accordingly.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6950

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2916>

3 years agoextensionBase: Use UUID as fallback gettext domain
Florian Müllner [Fri, 11 Aug 2023 22:03:38 +0000 (00:03 +0200)]
extensionBase: Use UUID as fallback gettext domain

Nowadays we can set up translations automatically, but only when
the domain is provided with the metadata.

This can be a problem, for example our extension templates use
the automatic translation handling that we recommend, but as a
result the code will throw an error unless `gettext-domain` is
added to the metadata.

Binding a text domain is cheap enough to not care about unnecessary
or duplicated calls, so add a final fallback to the UUID when no
domain was provided as parameter or in the metadata.

There is already a precedent with the `gnome-extensions pack` command
that falls back to the UUID when no explicit gettext domain was
included in the metadata.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2888>

3 years agostyle: Only apply neutral entry focus color on lock screen
Florian Müllner [Tue, 29 Aug 2023 15:54:43 +0000 (17:54 +0200)]
style: Only apply neutral entry focus color on lock screen

Commit a72c95de changed the focus style for all system entries
to a more neutral color, as the stronger focus often clashes
with the wallpaper background on the lock screen.

However that is not a concern for entries that appear over the
neutral system background. Worse, the neutral focus indication
provides so little contrast with the background there that is
not much of an indication anymore.

Address this by restoring the old focus indication for the
generic system_entry mix-in, but override it specifically on
the lock screen to avoid the clash with the wallpaper background.

Fixes a72c95de
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6945
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6880

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2922>

3 years agoworkspacesView: Skip relayouts during destruction
Carlos Garnacho [Mon, 28 Aug 2023 17:44:11 +0000 (19:44 +0200)]
workspacesView: Skip relayouts during destruction

The WorkspacesView may be scheduled to be destroyed during
relayout, and despite that go through the allocate() vfunc.
When that happens, the ::destroy handler is called early,
so the WorkspacesView clears this._workspaces in result.
When vfunc_allocate() is called, various paths rely on the
workspaces array being still populated, which is not the
case.

The existing check at vfunc_allocate() for the WorkspacesView
having no children is insufficient, since children are destroyed
as a result, not beforehand.

This results in the following warnings when going out of
overview:

JS ERROR: TypeError: workspace is undefined
_getSpacing@resource:///org/gnome/shell/ui/workspacesView.js:218:13
vfunc_allocate@resource:///org/gnome/shell/ui/workspacesView.js:344:18
vfunc_allocate@resource:///org/gnome/shell/ui/overviewControls.js:223:33
removeWindow@resource:///org/gnome/shell/ui/workspace.js:856:29
addWindow/<.destroyId<@resource:///org/gnome/shell/ui/workspace.js:808:22
_updateWorkspacesViews@resource:///org/gnome/shell/ui/workspacesView.js:1023:38
prepareToEnterOverview@resource:///org/gnome/shell/ui/workspacesView.js:990:14
prepareToEnterOverview@resource:///org/gnome/shell/ui/overviewControls.js:740:33
gestureBegin@resource:///org/gnome/shell/ui/overviewControls.js:802:14
_gestureBegin@resource:///org/gnome/shell/ui/overview.js:409:33
_beginGesture@resource:///org/gnome/shell/ui/swipeTracker.js:601:14
_handleEvent@resource:///org/gnome/shell/ui/swipeTracker.js:173:26
@resource:///org/gnome/shell/ui/init.js:21:20

This always happens through the _updateWorkspacesViews() paths, so there
is a new WorkspacesView taking over and the one being destroyed should
silently go away.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6935
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2918>

3 years agotheme: Use insensitive theming for undecorated insensitive buttons
Marco Trevisan (Treviño) [Mon, 28 Aug 2023 18:46:24 +0000 (20:46 +0200)]
theme: Use insensitive theming for undecorated insensitive buttons

Menu items such as "paste" when no clipboard is available were always
painted as active. This is because the undecorated buttons do not use
the insensitive color anymore.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2919>

3 years agost/scroll-view: Fix issue in st_scroll_view_scroll_event()
Andrew Zaech [Tue, 29 Aug 2023 01:03:12 +0000 (01:03 +0000)]
st/scroll-view: Fix issue in st_scroll_view_scroll_event()

adjust_with_direction() uses a ClutterScrollDirection not ClutterTextDirection

Fixes: 23b439dc ("st/scroll-view: Use ClutterEvent getter methods")
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6937

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2920>

3 years agoosdWindow: Allow label and level to be null
Stuart Hayhurst [Sun, 27 Aug 2023 18:25:42 +0000 (19:25 +0100)]
osdWindow: Allow label and level to be null

Allow passing 'null' to setLevel and setLabel, so 'null' and 'undefined'
behave the same way.

Fixes a regression introduced by a42f7c23, which caused parts of old
notifications to persist into new notifications, or elements being
incorrectly made visible

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2917>

3 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 28 Aug 2023 09:27:45 +0000 (11:27 +0200)]
Updated Spanish translation

3 years agoUpdate Galician translation
Fran Dieguez [Sun, 27 Aug 2023 19:26:07 +0000 (19:26 +0000)]
Update Galician translation

3 years agoUpdate Belarusian translation
Vasil Pupkin [Sun, 27 Aug 2023 15:57:44 +0000 (15:57 +0000)]
Update Belarusian translation

3 years agoUpdate Polish translation
Piotr Drąg [Sun, 27 Aug 2023 14:35:49 +0000 (16:35 +0200)]
Update Polish translation

3 years agoUpdate Chinese (China) translation
Luming Zh [Sun, 27 Aug 2023 13:40:38 +0000 (13:40 +0000)]
Update Chinese (China) translation

3 years agoUpdate Dutch translation
Nathan Follens [Sun, 27 Aug 2023 12:05:20 +0000 (12:05 +0000)]
Update Dutch translation

(cherry picked from commit d826c9eadc8e5bdc6396fea7cd87927f40f6b72c)

3 years agoUpdate Persian translation
Danial Behzadi [Sun, 27 Aug 2023 10:00:39 +0000 (10:00 +0000)]
Update Persian translation

3 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sun, 27 Aug 2023 07:34:51 +0000 (07:34 +0000)]
Update Basque translation

3 years agoUpdate Georgian translation
Ekaterine Papava [Sat, 26 Aug 2023 20:29:58 +0000 (20:29 +0000)]
Update Georgian translation

3 years agoUpdate Finnish translation
Jiri Grönroos [Sat, 26 Aug 2023 18:51:59 +0000 (18:51 +0000)]
Update Finnish translation

3 years agoci: Rebase js image to F39
Florian Müllner [Tue, 15 Aug 2023 00:05:05 +0000 (02:05 +0200)]
ci: Rebase js image to F39

F39 has been branched, so use it to pull in the latest gjs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2912>

3 years agoci: Escape parentheses in dependencies
Florian Müllner [Fri, 25 Aug 2023 16:43:52 +0000 (18:43 +0200)]
ci: Escape parentheses in dependencies

Newer versions of the freedesktop template no longer do the
escaping for us.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2912>

3 years agoUpdate Hebrew translation
Yosef Or Boczko [Sat, 26 Aug 2023 17:59:05 +0000 (17:59 +0000)]
Update Hebrew translation

3 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sat, 26 Aug 2023 17:49:31 +0000 (17:49 +0000)]
Update Ukrainian translation

3 years agoextensions-tool/create: Optionally include prefs
Florian Müllner [Sun, 13 Aug 2023 23:08:56 +0000 (01:08 +0200)]
extensions-tool/create: Optionally include prefs

We currently only create boilerplate code for the actual
extension. Now that libadwaita has largely standardized
preference UIs, it makes sense to allow creating the
prefs.js boilerplate as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2889>

3 years agoextensions-tool/create: Create schema template
Florian Müllner [Sun, 13 Aug 2023 22:31:16 +0000 (00:31 +0200)]
extensions-tool/create: Create schema template

When creating an extension with --settings-schema, rather than
just adding a corresponding entry in the metadata, generate the
gschema boilerplate as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2889>

3 years agoextensions-tool/create: Add --settings-schema flag
Florian Müllner [Sun, 13 Aug 2023 21:58:14 +0000 (23:58 +0200)]
extensions-tool/create: Add --settings-schema flag

Like with the gettext domain, the GSettings schema ID can be
picked up from the metadata, so allow setting it via an
optional CLI flag.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2889>

3 years agoextensions-tool/create: Add --gettext-domain flag
Florian Müllner [Sun, 13 Aug 2023 21:46:33 +0000 (23:46 +0200)]
extensions-tool/create: Add --gettext-domain flag

Our convenience API considers a `gettext-domain` field in the
metadata, so it makes sense for `gnome-extensions create` to
allow setting it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2889>

3 years agoUpdate Russian translation
Artur S0 [Sat, 26 Aug 2023 15:49:47 +0000 (15:49 +0000)]
Update Russian translation

3 years agoiconGrid: Export zoomOutActor()
Florian Müllner [Fri, 25 Aug 2023 13:23:35 +0000 (15:23 +0200)]
iconGrid: Export zoomOutActor()

It's used in the search view when launching a search in the
corresponding app.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6942

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2911>

3 years agoUpdate Punjabi translation
Amn Alam [Fri, 25 Aug 2023 02:46:23 +0000 (02:46 +0000)]
Update Punjabi translation

3 years agowindowManager: Drop AppSwitchAction
Carlos Garnacho [Thu, 24 Aug 2023 21:45:42 +0000 (23:45 +0200)]
windowManager: Drop AppSwitchAction

This gesture to switch the focused app was already a bit of a
compromise solution at the time it was added, its clunky way to
work (3fg long press, then taps with a 4th finger to switch
application) was pretty much picking up the remains of our
limited wiggle room (sticking to 3fg/4fg global gestures, since
2fg are application domain).

But then directional 3fg gestures took prevalence, and made it
easier to switch between applications. This small gesture remained
a bit of an easter egg, largely unused and unknown.

Fast forward to today, and it's being noticed in a bad way. The
changes to event handling and delivery to actions has made this
gesture take prevalence over the wee-bit-more-popular 3fg swipe
gestures, making those never become active and never trigger.

While a gesture framework is being investigated that might
help handle these situations (or, in a less undefined manner),
this doesn't seem like a case worth going out of our way to
hack around until that is in place. We can remove this, and make
all WM interactions go through the 3fg directional gestures.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2729
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2910>

3 years agoUpdate Turkish translation
Sabri Ünal [Tue, 22 Aug 2023 16:29:34 +0000 (16:29 +0000)]
Update Turkish translation

3 years agoUpdate Persian translation
Danial Behzadi [Tue, 22 Aug 2023 13:42:04 +0000 (13:42 +0000)]
Update Persian translation

3 years agostyle: Use privacy_indicator_color in overview for screen sharing indicator
Brendan William [Sat, 5 Aug 2023 05:44:15 +0000 (22:44 -0700)]
style: Use privacy_indicator_color in overview for screen sharing indicator

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2859>

3 years agotheme: Make today weekend fg color legible
Jakub Steiner [Sat, 5 Aug 2023 18:35:48 +0000 (20:35 +0200)]
theme: Make today weekend fg color legible

- when a weekend is today, the insensitive color was illegible

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6846

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2857>

3 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 22 Aug 2023 11:25:03 +0000 (13:25 +0200)]
Updated Spanish translation

3 years agoUpdate Czech translation
Daniel Rusek [Tue, 22 Aug 2023 09:56:51 +0000 (09:56 +0000)]
Update Czech translation

3 years agoci: Include .desktop files in POTFILES check
Florian Müllner [Sun, 20 Aug 2023 01:33:52 +0000 (03:33 +0200)]
ci: Include .desktop files in POTFILES check

.desktop files always include translatable strings, so make sure
they are added to either POTFILES.in or POTFILES.skip.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2904>

3 years agopo: Update POTFILES.in
Florian Müllner [Sun, 20 Aug 2023 01:38:12 +0000 (03:38 +0200)]
po: Update POTFILES.in

We include a .desktop file for the Extensions D-Bus
service, to provide name and icon to the preference
dialog when used without a parent window.

However we missed adding it to POTFILES.in, so it is
currently untranslated, whoops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2904>

3 years agoUpdate German translation
Philipp Kiemle [Mon, 21 Aug 2023 21:17:24 +0000 (21:17 +0000)]
Update German translation

3 years agoUpdate Belarusian translation
Vasil Pupkin [Mon, 21 Aug 2023 16:34:51 +0000 (16:34 +0000)]
Update Belarusian translation

3 years agoUpdate Polish translation
Piotr Drąg [Mon, 21 Aug 2023 15:14:28 +0000 (17:14 +0200)]
Update Polish translation

3 years agoUpdate Galician translation
Fran Dieguez [Mon, 21 Aug 2023 09:30:23 +0000 (09:30 +0000)]
Update Galician translation

3 years agoUpdate Ukrainian translation
Yuri Chornoivan [Sun, 20 Aug 2023 14:50:07 +0000 (14:50 +0000)]
Update Ukrainian translation

3 years agoUpdate Catalan translation
Jordi Mas [Sun, 20 Aug 2023 08:03:38 +0000 (10:03 +0200)]
Update Catalan translation

3 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sun, 20 Aug 2023 03:24:56 +0000 (03:24 +0000)]
Update Kazakh translation

3 years agodash: Move getAppFromSource() into static method
Florian Müllner [Sat, 19 Aug 2023 16:31:24 +0000 (18:31 +0200)]
dash: Move getAppFromSource() into static method

This is a small helper function that is used by the DND handling
in the dash and its items.

It turns out that some extensions used to override it, which is
no longer possible: We don't export it, and if we did, it would
be read-only.

To make the function available again, expose it as static method
on the dash itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2903>

3 years agost/viewport: Keep painting, clipping and transforms pixel-aligned
Daniel van Vugt [Mon, 17 Jul 2023 09:01:42 +0000 (17:01 +0800)]
st/viewport: Keep painting, clipping and transforms pixel-aligned

Which means adjustments always converted to ints in the same way.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6835
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2828>

3 years agost/viewport: Set the paint volume to the clipped area
Daniel van Vugt [Fri, 7 Jul 2023 08:44:01 +0000 (16:44 +0800)]
st/viewport: Set the paint volume to the clipped area

Not the unclipped area that is potentially multiple screens in size.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6819
(assuming you have mutter!3112)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2828>

3 years agost/viewport: Remove unused paint volume origin calculations
Daniel van Vugt [Fri, 7 Jul 2023 09:11:13 +0000 (17:11 +0800)]
st/viewport: Remove unused paint volume origin calculations

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2828>

3 years agoUpdate Georgian translation
Ekaterine Papava [Sun, 20 Aug 2023 01:08:20 +0000 (01:08 +0000)]
Update Georgian translation

3 years agoextensions-tool: Add quick settings template
Florian Müllner [Mon, 14 Aug 2023 15:51:35 +0000 (17:51 +0200)]
extensions-tool: Add quick settings template

Extending quick settings has become popular enough to justify a
template.

Add a small indicator+quick-item example that exercises the
previously added API.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2894>

3 years agopanel: Add extension hook to add quick settings items
Florian Müllner [Thu, 10 Aug 2023 15:38:38 +0000 (17:38 +0200)]
panel: Add extension hook to add quick settings items

Quick Settings has become a popular extension point, but adding
items anywhere but the end has become harder since the indicator
setup was made async.

Address this with an addExternalIndicator() method that adds
indicator and quick settings items at reasonable positions.

At the same time, adjust the indicator setup to take eventually
added external items into account.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2894>

3 years agoquickSettings: Add getFirstItem() method
Florian Müllner [Mon, 14 Aug 2023 22:13:34 +0000 (00:13 +0200)]
quickSettings: Add getFirstItem() method

We will need some more access to the menu's underlying grid to
provide extension API for adding additional quick items.

Expose a new getFirstItem() method that (surprise!) returns the
first item.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2894>

3 years agoquickSettings: Add insertItemBefore() method
Florian Müllner [Mon, 14 Aug 2023 22:13:34 +0000 (00:13 +0200)]
quickSettings: Add insertItemBefore() method

The QuickSettings menu currently only support appending items
at the end. Extensions can get around that limitation by accessing
the private grid property to move the item afterwards, but we don't
allow this in our own code.

Expose a new insertItemBefore() method that allows adding an item
before an existing one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2894>

3 years agopanel: Add workspaces indicators in activities button
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 13:27:13 +0000 (10:27 -0300)]
panel: Add workspaces indicators in activities button

After removing the app name and icon, the next natural step that
was requested from the design team is to add workspaces indicators
to the top bar, where currently the Activities button is placed.

In addition to that, this is desired because there are known issues
with using "Activities" as a label for the overview. A more
comprehensive rationale for that can be found at [1].

Add an workspaces indicator replacing the Activities label in the
activities button.

The WorkspaceIndicators class controls how many workspaces dots
exists, their expansion, and the width multiplier. The WorkspaceDot
class takes the expansion and the multiplier, and applies it
internally so that we can get perfectly rounded dots at all
times without using CSS hacks.

The width multipliers are hardcoded, and defined by the design
team. We can revisit them later if necessary. Special care is
taken to not let these width multipliers result in fractional
widths.

When the number of workspaces changes, WorkspaceIndicators adds
new dot to the end, and animate them. When removing, scale the dot
out, then destroy it.

This does not work with workspace grids, but that's not supported
by GNOME Shell anyway, so no effort is made to cover this use case.

The button continues to have "Activities" as its accessible name,
but the label actor is removed.

Also adjust the padding of the activities pill, so it better wraps
the new indicators.

[1] https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/227

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2902>

3 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sat, 19 Aug 2023 06:10:02 +0000 (06:10 +0000)]
Update Kazakh translation

3 years agolayout: Export PressureBarrier
Marco Trevisan (Treviño) [Thu, 17 Aug 2023 22:12:23 +0000 (00:12 +0200)]
layout: Export PressureBarrier

It's an utility function that extensions can use to create pointer barriers,
so export it to allow wider usage

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2900>

3 years agoinit: Include the error stack in the context termination error message
Marco Trevisan (Treviño) [Thu, 17 Aug 2023 21:42:02 +0000 (23:42 +0200)]
init: Include the error stack in the context termination error message

If a failure happened during initialization the shell does not provide
any debug information, and so only the error is shown without a stack
trace.

Since this information is provided, pass it as the error message.

Do not log this directly from JS so that we just use one termination
path.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2899>

3 years agolookingGlass: Export the Inspector class
Simon Schneegans [Thu, 17 Aug 2023 17:32:42 +0000 (19:32 +0200)]
lookingGlass: Export the Inspector class

Several extensions use this class to let the
user pick application windows. Exporting this
class will make it easier for these extensions
to be ported to GNOME 45.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2898>

3 years agoci: Don't disable modular repos in toolbox image
Florian Müllner [Wed, 16 Aug 2023 23:53:28 +0000 (01:53 +0200)]
ci: Don't disable modular repos in toolbox image

They are no longer included in F39, so trying to disable them
fails.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2897>

3 years agoci: Use sudo to run `meson install`
Florian Müllner [Thu, 17 Aug 2023 00:16:28 +0000 (02:16 +0200)]
ci: Use sudo to run `meson install`

Newer meson versions no longer use polkit for automatic priviledge
elevation.

Commit d353f2d367 adjusted to that change by running `meson install`
through sudo, but left out the install-meson-project helper script.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2897>

3 years agoci: Bump mutter image
Florian Müllner [Tue, 15 Aug 2023 00:06:28 +0000 (02:06 +0200)]
ci: Bump mutter image

The mutter image has been rebased to F39, start using it here
as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2892>

3 years agoci: Use sudo to run meson install
Florian Müllner [Mon, 14 Aug 2023 23:55:47 +0000 (01:55 +0200)]
ci: Use sudo to run meson install

Meson stopped using polkit for automatic privilege elevation, and
will no longer attempt any priviledge elevation when not running
interactively.

Running the entire install command as root used to be problematic
in the past, as it could result in ownership changes of files in
the build directory that would result in build failures later,
but the aforementioned change leaves us with little choice.

Apparently `meson install` will spawn `ninja` with dropped
privileges when a rebuild is needed, so hopefully this will
no longer be an issue.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2892>

3 years agoweather: Prevent setting Geoclue source as location name
Brendan William [Wed, 9 Aug 2023 17:40:35 +0000 (10:40 -0700)]
weather: Prevent setting Geoclue source as location name

Prior to Geoclue v2.7, the location description did not seem to ever be
set. Now, the source used to determine the location is set as the
description. This can result in the location name in dateMenu to be set
as "WiFi", "GeoIP", etc., since we relay the description as the location
name to GWeather. Instead, pass an empty string so GWeather continues
to set the location name itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2729>

3 years agoUpdate Turkish translation
Sabri Ünal [Wed, 16 Aug 2023 18:36:32 +0000 (18:36 +0000)]
Update Turkish translation

3 years agomessageList: Allow dismissal via backspace
Chris Heywood [Sun, 21 Aug 2022 03:55:46 +0000 (13:55 +1000)]
messageList: Allow dismissal via backspace

Currently only the delete key can be used to dismiss notifications.
Some laptops don't have delete keys, resulting in needing to hit a
modifier to trigger delete.

Plus, on those keyboards that do have delete keys they're often a
little harder to strike than backspace.

https://gitlab.gnome.org/gnome/gnome-shell/-/issues/5789

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2435>

3 years agopanel: Don't expand camera quick settings items
Florian Müllner [Mon, 14 Aug 2023 18:39:34 +0000 (20:39 +0200)]
panel: Don't expand camera quick settings items

The camera indicator currently doesn't have any items, but if
we were to add one, it would almost certainly be a regular
toggle rather than a slider that needs expanding.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2891>

3 years agoshell/camera-monitor: Remove hooks before destroying objects
Sebastian Keller [Sat, 12 Aug 2023 15:30:24 +0000 (17:30 +0200)]
shell/camera-monitor: Remove hooks before destroying objects

Otherwise removing the hook will try to unlink from a list whose
previous element belonged to the already destroyed object.

Fixes: d09d24666 ("shell: Add device monitor for cameras")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2893>

3 years agoUpdate Occitan translation
Quentin PAGÈS [Tue, 15 Aug 2023 09:26:07 +0000 (09:26 +0000)]
Update Occitan translation

3 years agoextensions/shared: Don't cache detected URL
Florian Müllner [Sun, 13 Aug 2023 17:12:27 +0000 (19:12 +0200)]
extensions/shared: Don't cache detected URL

The translation functions we export from extension utils must
work with all extensions, not only the first that calls one
of the functions.

That means that we are back to examining a backtrace for every
function call unless an extension defined its own translation
functions with `import.meta.url`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2887>

3 years agoUpdate Basque translation
Asier Sarasua Garmendia [Sun, 13 Aug 2023 08:30:25 +0000 (08:30 +0000)]
Update Basque translation

3 years agoworkspaceAnimation: Sync progress with main adjustment
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 19:59:00 +0000 (16:59 -0300)]
workspaceAnimation: Sync progress with main adjustment

Create a derived workspaces adjustment using the new API, and
bind it to the 'progress' property. This is only done by the
MonitorGroup representing the primary monitor.

The progress value that WorkspaceAnimation operates on
represents the percentage within the workspaceIndices array
we are, so make sure to transform the percentage to the
correct workspace index.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2881>

3 years agoworkspaceAnimation: Notify 'progress' property properly
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 19:57:47 +0000 (16:57 -0300)]
workspaceAnimation: Notify 'progress' property properly

The getter of the MonitorGroup's 'progress' property sets
some values based on it, but doesn't notify the property
change.

Fix that by calling this.notify('progress') when the setter
is called.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2881>

3 years agooverviewControls: Use new workspaces adjustment API
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 19:56:01 +0000 (16:56 -0300)]
overviewControls: Use new workspaces adjustment API

Derive the workspaces adjustment used by OverviewControls (and
shared with WorkspacesView) from the main workspaces adjustment
using the new Main.createWorkspacesAdjustment() method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2881>

3 years agomain: Introduce global workspaces adjustment
Georges Basile Stavracas Neto [Thu, 10 Aug 2023 19:49:19 +0000 (16:49 -0300)]
main: Introduce global workspaces adjustment

And a way to derive "sub"-adjustments from the main one.

The main and private StAdjustment properly represents
workspaces, and has all relevant properties (lower, upper,
and value) set by the workspace manager.

The main adjustment is not bound to any particular actor,
which means we cannot call the 'ease' method directly.

Consumers of this API should create adjustments using
Main.createWorkspacesAdjustment(), and this new adjustment
is bound to the actor that the consumer passed. Consumers
must not change any property of the derived adjustment other
than the 'value' property.

The 'value' property is synchronized between all adjustments
created, which guarantees that all elements that represent
workspaces can have a shared and up-to-date understanding of
where in the workspace layout we are.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2881>

3 years agoutil: Export trySpawn()
Dallas Strouse [Fri, 11 Aug 2023 15:20:53 +0000 (15:20 +0000)]
util: Export trySpawn()

It was private before, and so any users of it (including the
Background Apps menu) would fail to utilize it, making apps fail
to get told to shut down from the Background Apps menu.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6893

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2885>

3 years agostatus/backgroundApps: Close after activating app
Florian Müllner [Fri, 11 Aug 2023 09:59:43 +0000 (11:59 +0200)]
status/backgroundApps: Close after activating app

We should leave the overview and close quick settings, like we
do elsewhere when launching something.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6895

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2884>

3 years agoUpdate Galician translation
Fran Dieguez [Fri, 11 Aug 2023 00:35:02 +0000 (00:35 +0000)]
Update Galician translation

3 years agoBump version to 45.beta.1
Carlos Garnacho [Thu, 10 Aug 2023 22:02:10 +0000 (00:02 +0200)]
Bump version to 45.beta.1

Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2882>

3 years agojs: Port Config to ESM
Florian Müllner [Mon, 7 Aug 2023 15:30:22 +0000 (17:30 +0200)]
js: Port Config to ESM

The Config module is shared between the main process, D-Bus
services and tests, which previously prevented it from being
ported to ESM.

The previous commit removed the last outstanding blocker, so
we can now port the last remaining module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2880>

3 years agotests/unit: Access shell sources from resource
Florian Müllner [Thu, 10 Aug 2023 15:50:08 +0000 (17:50 +0200)]
tests/unit: Access shell sources from resource

Unit tests currently load shell sources directly from the
filesystem.

This is currently blocking generated sources - namely config.js - to
ESM, because a relative import from the source dir will fail to
locate the file in the build dir.

Address this by using the same GResource as gnome-shell instead of
direct filesystem access, as the resource will always include all
sources files at the expected location.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2880>

3 years agoextensionBase: Fix issue in lookupByURL()
Andrew Zaech [Wed, 9 Aug 2023 18:07:43 +0000 (18:07 +0000)]
extensionBase: Fix issue in lookupByURL()

The lookupByUUID() implementations in the subtypes return null
when the lookup failed, not undefined.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2879>

3 years agonotificationDaemon: Export notification source classes
Andy Holmes [Mon, 7 Aug 2023 18:48:45 +0000 (11:48 -0700)]
notificationDaemon: Export notification source classes

Out of the members of the notification daemon(s), these are the most
necessary and flexible to override. The daemons are used as singletons
and notifications are rather temporary, while the sources are more
flexible and make the most sense to override (and revert).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2869>

3 years agomain: Don't try to translate the empty string
Florian Müllner [Tue, 8 Aug 2023 17:09:49 +0000 (19:09 +0200)]
main: Don't try to translate the empty string

It's pointless in the best case, and may result in bugs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2878>

3 years agoscreenshot: Export showScreen*UI() functions
Florian Müllner [Wed, 9 Aug 2023 14:24:07 +0000 (16:24 +0200)]
screenshot: Export showScreen*UI() functions

showScreenshotUI() is needed by the system action, and
showScreenRecordingUI() is conceptually so similar that
it would be odd to export one and not the other.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6885

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2877>

3 years agolint: Remove legacy config
Florian Müllner [Mon, 7 Aug 2023 01:27:37 +0000 (03:27 +0200)]
lint: Remove legacy config

It is now empty and unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoci: Simplify run-eslint script
Florian Müllner [Mon, 7 Aug 2023 01:26:04 +0000 (03:26 +0200)]
ci: Simplify run-eslint script

Now that all code conforms with the new style, we can remove all
the tricky bits that compare errors from regular- and legacy
config or limit checks to changed lines from a git diff.

All that is left over the eslint CLI tool is the ability to output
results both as junit for gitlab and plain text for logs without
duplicating the linting, but that's well worth preserving.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoci: Remove eslint_mr job
Florian Müllner [Mon, 7 Aug 2023 01:24:35 +0000 (03:24 +0200)]
ci: Remove eslint_mr job

There is no longer a difference between regular- and legacy config.
That means that all code now follows the regular configuration, and
we no longer need a separate check that enforces this for new code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Fixup wrong JSDoc comments
Florian Müllner [Mon, 7 Aug 2023 01:15:51 +0000 (03:15 +0200)]
cleanup: Fixup wrong JSDoc comments

There are a handful of JSDoc comments that are invalid or don't
conform to the configured format. Fix them to remove the last
remaining bit of legacy configuration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Use type-safe comparisons
Florian Müllner [Mon, 7 Aug 2023 00:51:19 +0000 (02:51 +0200)]
cleanup: Use type-safe comparisons

We have been using type-safe comparisons in new code for quite a while
now, however old code has only been adapted slowly.

Change all the remaining bits to get rid of another legacy style
difference.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Use consistent 4-space indent
Florian Müllner [Sun, 6 Aug 2023 23:45:22 +0000 (01:45 +0200)]
cleanup: Use consistent 4-space indent

This is another bit where we've made good progress, and just need
a final push to complete the transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Remove spaces in object literals
Florian Müllner [Sun, 6 Aug 2023 22:40:20 +0000 (00:40 +0200)]
cleanup: Remove spaces in object literals

We only adopted this style relatively recently, so there's a bit
more to adjust. Still, it's manageable and another step towards
getting rid of the legacy style.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agocleanup: Always use single quotes
Florian Müllner [Sun, 6 Aug 2023 22:34:20 +0000 (00:34 +0200)]
cleanup: Always use single quotes

We have made good progress with transitioning to the new style,
to the point where we can complete it with a final push.

Start with changing the remaining places that still use double
quotes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2866>

3 years agoUpdate Indonesian translation
Kukuh Syafaat [Wed, 9 Aug 2023 13:34:44 +0000 (13:34 +0000)]
Update Indonesian translation

3 years agost: Mass update to ClutterActorClass event vmethod changes
Carlos Garnacho [Tue, 8 Aug 2023 22:26:52 +0000 (00:26 +0200)]
st: Mass update to ClutterActorClass event vmethod changes

These are now forwarded as ClutterEvent in order to remain accessible
on the Javascript side. This also means all ClutterActor implementations
in ST need to update to this change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>

3 years agojs: Avoid Clutter.get_current_event() in Clutter.Actor event vfuncs
Carlos Garnacho [Tue, 8 Aug 2023 16:22:11 +0000 (18:22 +0200)]
js: Avoid Clutter.get_current_event() in Clutter.Actor event vfuncs

We sometimes obtained the current event through the general machinery
just so we could pass it along as a ClutterEvent instead of a specialized
subtype.

We now get that out of the box, so may avoid getting the current event
which is just a cast of the same current event we already have.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>

3 years agojs: Mass move to Clutter.Event getter methods in Clutter.Actor vfuncs
Carlos Garnacho [Tue, 8 Aug 2023 16:14:04 +0000 (18:14 +0200)]
js: Mass move to Clutter.Event getter methods in Clutter.Actor vfuncs

These traditionally got the various ClutterEvent subtype structs as their
argument, so it was not allowed to use ClutterEvent generic getter methods
in these vfuncs. These methods used direct access to struct fields instead.

This got spoiled with the move to make ClutterEvent opaque types, since
these are no longer public structs so GNOME Shell most silently failed to
fetch the expected values from event fields. But since they are not
ClutterEvents either, the getters could not be used on them.

Mutter is changing so that these vmethods all contain an alias to the
one and only Clutter.Event type, thus lifting those barriers, and making
it possible to use the ClutterEvent methods in these vfuncs.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2950
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872>